/**
 * @filename operands.h
 * @brief 运算符类
 * @author Sun Zehui <sunzehui18@outlook.com>
 * @version 1.0.0
 * @date 2021-11-20
 */

#ifndef __OPERANDSH__
#define __OPERANDSH__

#include<iostream>
#include<string>
using namespace std;

class operands
{
public:
	/**
	 * @brief operator() 重载operator函数，根据成员变量sig来做出计算
	 *
	 * @param double 数字1
	 * @param double 数字2
	 *
	 * @return double
	 */
    double operator()(double, double); // 重载functor
    /**
     * @brief operands Constructor
     *
     * @param sig 运算符选择
     */
    operands(const string& sig); // 代带参数的构造函数
    ~operands(){};
    operands(operands&); //拷贝构造
    operands& operator=(const operands& rhs);
    void print_symbol();
private:
    /**
     * @brief 运算符char* +-*..
     */
    const char* sig;


};

#endif
